// $()是jquery的方法，和window.onload = function(){}相同
$(function() {
    function bindCaptchaBtnClick() {
        $("#captcha-btn").click(function(event) {
            // 将原生js对象转化为jquery对象
            let $this = $(this);
            let email = $("input[name='email']").val();
            if(!email) {
                // 进一步可以判断格式是否正确，这里没做
                alert('必须输入验证邮箱')
                // 必须retrun
                return;
            }

            // ajax请求
            $.ajax('/auth/captcha?email=' + email, {
                method: 'GET',
                // 状态码为200时，服务器返回的参数作为result调用success，否则调用fall
                // 观察zlauth/views/send_mail_captcha函数可知这里的result是一个json串，前后端通讯使用json串避免数据结构的差异
                success: function(result) {
                    if(result['code'] == 200) {
                        alert('验证码发送成功')
                    }else{
                        alert(result['message'])
                    }
                    console.log(result);
                },
                fall: function(error) {
                    console.log(error);
                }
            }
                
            )
            // 取消按钮的点击事件
            $this.off('click');
            // 倒计时
            let countdown = 6;
            let timer = setInterval(function(){
                if(countdown<=0){
                    $this.text('获取验证码');
                    // 清除定时器
                    clearInterval(timer);
                    // 再次绑定事件
                    bindCaptchaBtnClick();
                }else{
                    countdown--;
                    $this.text(countdown+'s');
                }
            }, 1000);
        })
    }
    // 运行入口
    bindCaptchaBtnClick();
})